The present invention relates generally to writing of data on multitrack tape, and more specifically to encoding and writing of blocks of data on multitrack tape in linear tape drives.
In linear tape drives such as LTO (Linear Tape Open) drives and enterprise tape drives, data is written in multiple parallel data tracks extending along the length of the magnetic tape. The write head includes Q write elements for writing data simultaneously in Q data tracks. In current 16-channel LTO drives Q=16 tracks are written simultaneously, and in current 32-channel LTO drives Q=32 tracks are written simultaneously.
The smallest unit for appending or overwriting data on magnetic tape is known as a Data Set (DS). Data Sets in tape storage are currently 3 MB to 6 MB and are expected to increase to 12 MB in the near future. Blocks of user data received from a host interface are encoded and formatted into Data Sets for recording. After preliminary processing, an input block of data is partitioned into sub-blocks. Each of these sub-blocks is protected by a product code. The product code is used to encode rows and columns of a logical two-dimensional array containing the data symbols in a sub-block. Each row of data symbols is encoded using a row linear block code (C1 code) and each column is encoded using a column linear block code (C2 code). The resulting product codeword comprises a logical array of code symbols in which the rows/columns are row/column codewords including C1- and C2-parity symbols respectively. Subsets of these product codewords are then combined by column-interleaving to produce respective encoded blocks known as Sub Data Sets (SDSs). There are currently 32 to 64 Sub Data Sets in a Data Set, though there are plans to increase the number of read/write channels Q to 64 allowing 128 SDSs per DS.
The SDSs in a Data Set are subjected to various further processing stages, including formation of packets from rows of the SDSs and interleaving of packets to determine the packet layout on tape. The layout is designed to space different rows of the same SDS, and hence symbols of the column (C2) codewords, over the region of tape in which the DS is written.
It is desired to obtain good error-rate performance on read-back of data from tape while minimizing overhead due to redundancy introduced by the error-correction codes (ECC). Performance of current linear tape drives is based on an ECC overhead of about 16% due to the C1- and C2-parity symbols.